বিভিন্ন ফাইল ফরম্যাটের Compatibility Management

Java Technologies - অ্যাপাচি পিওআই (ওয়ার্ড) File Conversion এবং Compatibility |
157
157

Apache POI একটি শক্তিশালী লাইব্রেরি যা Microsoft Word ডকুমেন্ট (DOC, DOCX) ম্যানিপুলেশনের জন্য ব্যবহৃত হয়। যদিও POI মূলত DOCX ফরম্যাটের জন্য ডিজাইন করা হয়েছে, এটি কিছু পুরনো ফরম্যাট যেমন DOC এর জন্যও সমর্থন প্রদান করে। এই ফিচারটি Compatibility Management এর মাধ্যমে ব্যবহৃত হয়, যেখানে বিভিন্ন ফাইল ফরম্যাটের মধ্যে সঠিকভাবে কাজ করা হয়।

এই লেখায়, আমরা আলোচনা করব কীভাবে Apache POI ব্যবহার করে বিভিন্ন Word ফরম্যাট (DOC এবং DOCX)-এর মধ্যে কমপ্যাটিবিলিটি ম্যানেজ করা যায় এবং প্রয়োজনীয় কনভার্শন বা প্রক্রিয়া সম্পাদন করা যায়।


১. DOC এবং DOCX ফরম্যাটের মধ্যে পার্থক্য

  • DOC (Binary Format): এটি Microsoft Word 97-2003 সংস্করণের জন্য ব্যবহৃত ফরম্যাট। এটি বাইনারি ফরম্যাটে ডেটা সংরক্ষণ করে এবং Apache POI লাইব্রেরির মাধ্যমে কাজ করা কিছুটা জটিল হতে পারে।
  • DOCX (Office Open XML Format): এটি Microsoft Word 2007 এবং পরবর্তী সংস্করণের জন্য স্ট্যান্ডার্ড ফরম্যাট। এটি XML ভিত্তিক, এবং Apache POI লাইব্রেরি এতে বেশ ভালো কাজ করে।

২. DOC ফরম্যাটে কাজ করার জন্য Apache POI ব্যবহার করা

DOC ফরম্যাটে কাজ করার জন্য Apache POI-র একটি আলাদা সাব-প্রজেক্ট রয়েছে, যা HWPF নামে পরিচিত। HWPF লাইব্রেরি ব্যবহার করে আপনি পুরনো Word DOC ফাইলগুলির কনটেন্ট পেতে বা সম্পাদনা করতে পারেন। কিন্তু এটি কিছু সীমাবদ্ধতার কারণে DOCX এর তুলনায় কম কার্যকরী।

DOC ফরম্যাটে ফাইল লোড এবং রিড করা:

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadDocFile {
    public static void main(String[] args) throws IOException {
        // DOC ফাইল লোড করা
        HWPFDocument document = new HWPFDocument(new FileInputStream("old_document.doc"));

        // Document থেকে Range বের করা
        Range range = document.getRange();
        
        // ডকুমেন্টের কনটেন্ট প্রিন্ট করা
        System.out.println(range.text());
    }
}

এই কোডটি DOC ফরম্যাটে থাকা ফাইলের কনটেন্ট পড়বে এবং প্রিন্ট করবে।

DOC ফরম্যাটে ডেটা লেখার উদাহরণ:

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.hwpf.usermodel.Range;

import java.io.FileOutputStream;
import java.io.IOException;

public class WriteDocFile {
    public static void main(String[] args) throws IOException {
        // একটি নতুন DOC ফাইল তৈরি করা
        HWPFDocument document = new HWPFDocument();
        Range range = document.getRange();
        
        // নতুন টেক্সট লেখা
        range.insertAfter("This is a new text in DOC format.");

        // নতুন DOC ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("new_document.doc")) {
            document.write(out);
        }
    }
}

এই কোডে, একটি DOC ফাইলে নতুন টেক্সট যুক্ত করা হচ্ছে এবং নতুন ফাইল সেভ করা হচ্ছে।


৩. DOCX ফরম্যাটে কাজ করার জন্য Apache POI ব্যবহার করা

Apache POI-এর XWPF লাইব্রেরি আধুনিক DOCX ফরম্যাটের জন্য ডিজাইন করা হয়েছে এবং এটি সম্পাদন, রিড, এবং লেখার জন্য খুবই কার্যকর। XWPF লাইব্রেরি ব্যবহার করে আপনি DOCX ফরম্যাটে ডকুমেন্টের কনটেন্ট ম্যানিপুলেট করতে পারবেন।

DOCX ফরম্যাটে ফাইল লোড এবং রিড করা:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

import java.io.FileInputStream;
import java.io.IOException;

public class ReadDocxFile {
    public static void main(String[] args) throws IOException {
        // DOCX ফাইল লোড করা
        XWPFDocument document = new XWPFDocument(new FileInputStream("document.docx"));

        // সমস্ত Paragraph গুলি পড়া
        for (XWPFParagraph paragraph : document.getParagraphs()) {
            System.out.println(paragraph.getText());
        }
    }
}

এই কোডটি DOCX ফাইল থেকে সমস্ত প্যারাগ্রাফের কনটেন্ট পড়বে এবং প্রিন্ট করবে।

DOCX ফরম্যাটে ডেটা লেখার উদাহরণ:

import org.apache.poi.xwpf.usermodel.XWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFParagraph;

import java.io.FileOutputStream;
import java.io.IOException;

public class WriteDocxFile {
    public static void main(String[] args) throws IOException {
        // একটি নতুন DOCX ডকুমেন্ট তৈরি করা
        XWPFDocument document = new XWPFDocument();

        // একটি নতুন Paragraph তৈরি করা
        XWPFParagraph paragraph = document.createParagraph();
        paragraph.createRun().setText("This is a new text in DOCX format.");

        // নতুন DOCX ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("new_document.docx")) {
            document.write(out);
        }
    }
}

এখানে, একটি DOCX ফাইল তৈরি করা হচ্ছে এবং তাতে টেক্সট যোগ করা হচ্ছে।


৪. DOC থেকে DOCX এ কনভার্সন

যেহেতু Apache POI DOC এবং DOCX উভয় ফরম্যাটের জন্য সমর্থন দেয়, আপনি সহজেই একটি DOC ফাইলকে DOCX ফরম্যাটে কনভার্ট করতে পারেন। তবে, কনভার্সন পদ্ধতি সম্পূর্ণভাবে সরাসরি POI-তে নেই, কিন্তু আপনি কিছু অতিরিক্ত কাজের মাধ্যমে এই কনভার্সন করতে পারবেন। এর জন্য Apache POI-র HWPF (DOC) এবং XWPF (DOCX) ফরম্যাটের সাথে কাজ করার জন্য কোড লেখার প্রয়োজন হবে।

এখানে, একটি সাধারিত কনভার্সন পদ্ধতির উদাহরণ দেওয়া হলো:

import org.apache.poi.hwpf.HWPFDocument;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
import java.io.*;

public class ConvertDocToDocx {
    public static void main(String[] args) throws IOException {
        // পুরানো DOC ফাইল লোড করা
        HWPFDocument doc = new HWPFDocument(new FileInputStream("old_document.doc"));
        
        // নতুন DOCX ডকুমেন্ট তৈরি করা
        XWPFDocument docx = new XWPFDocument();

        // DOC ফাইল থেকে টেক্সট নেয়া
        String text = doc.getRange().text();
        
        // DOCX ফাইলের Paragraph এ টেক্সট যোগ করা
        docx.createParagraph().createRun().setText(text);
        
        // নতুন DOCX ফাইল সেভ করা
        try (FileOutputStream out = new FileOutputStream("converted_document.docx")) {
            docx.write(out);
        }
    }
}

এখানে DOC ফাইল থেকে টেক্সট পড়া হচ্ছে এবং তা একটি DOCX ফাইলের মধ্যে লেখা হচ্ছে।


৫. সারাংশ

Apache POI লাইব্রেরি ব্যবহারের মাধ্যমে DOC এবং DOCX ফরম্যাটের মধ্যে কমপ্যাটিবিলিটি ম্যানেজ করা সম্ভব, তবে DOCX ফরম্যাটের জন্য এটি আরও কার্যকরী। আপনি HWPF লাইব্রেরি ব্যবহার করে DOC ফাইল ম্যানিপুলেট করতে পারেন এবং XWPF লাইব্রেরি ব্যবহার করে DOCX ফাইলের কনটেন্ট ম্যানিপুলেট করতে পারেন। এছাড়া, DOC ফরম্যাটকে DOCX এ কনভার্ট করতে কিছু অতিরিক্ত কোড প্রয়োজন, তবে এটি সম্ভব। Apache POI-এর মাধ্যমে আপনি বিভিন্ন ফরম্যাটের মধ্যে টেমপ্লেট তৈরি ও কনভার্সন সহ নানা কাজ সহজেই করতে পারবেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion